The Serial Peripheral Interface (SPI) protocol is a widely used protocol for data transfer between integrated circuits (ICs), in particular, between a host processor, also called SPI master, and one or more peripherals, also called SPI slaves. The SPI protocol specifies four signals:    CS: chip select    SCLK: shift clock or serial clock    SDI: shift data in or serial data in    SDO: shift data out or serial data out    It is, however, to be appreciated that alternative naming conventions are also widely used.
The SPI protocol is a synchronous protocol which requires a defined timing for correct operation. If an SPI device is working in a noisy environment (e.g. power converters with large switching currents/voltages), glitches may occur on the SPI signals which cause timing violations on the SPI device. The behavior of a conventional SPI device, which receives a timing violation, is unknown. It depends on the implementation (use of analog filters, etc.), but, in the worst case, all flip-flops of the interface become metastable (i.e. the flip-flops are in an unstable state between the “low” and “high” state and will change to one of the stable states “low” or “high” after an undetermined period of time) and may cause random behaviour with severe consequences.
In a noisy environment, however, correct timing can not be guaranteed due to the unpredictability of random noise events. In conventional SPI devices, analog filters are commonly used to suppress glitches on the clock signal, but also the use of analog filters cannot totally exclude timing violations due to noise induced events. An analog filter, for example, may pass through a clock pulse which is too small resulting in SPI flip flops becoming metastable.
Therefore, there exists a need for a serial peripheral interface which is unsusceptible to timing violations due to e.g. noisy SPI signals and is thus suitable for applications in a noisy environment and a method for serial communication via an SPI interface which is unsusceptible to timing violations and is thus suitable for applications in a noisy environment.